home *** CD-ROM | disk | FTP | other *** search
/ Delphi Magazine Collection 2001 / Delphi Magazine Collection 20001 (2001).iso / DISKS / Issue48 / XML / TestRig.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1999-06-26  |  2.1 KB  |  74 lines

  1. unit TestRig;
  2.  
  3. interface
  4.  
  5. uses
  6.   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  7.     XmlClasses, StdCtrls;
  8.  
  9. type
  10.   TfrmTestRig = class(TForm)
  11.     M: TMemo;
  12.     procedure FormShow(Sender: TObject);
  13.   private
  14.     { Private declarations }
  15.   public
  16.   end;
  17.  
  18. var
  19.   frmTestRig: TfrmTestRig;
  20.  
  21. implementation
  22.  
  23. {$R *.DFM}
  24.  
  25. procedure TfrmTestRig.FormShow(Sender: TObject);
  26. var
  27.   MemStream:  TMemoryStream;
  28.   Invoice:    TXmlDDocument;
  29.   Items:      TXmlDElement;
  30.   Item:       TXmlDElement;
  31.   RootElmt:   TXmlDElement;
  32. begin
  33.   MemStream := TMemoryStream.Create;
  34.   Invoice := TXmlDDocument.Create;
  35.   Invoice.NodeName := 'CustomerInvoice';
  36.     Invoice.AppendChild(Invoice.CreateComment(
  37.         ' The Buy-More-Great Music Club  '));
  38.     Invoice.AppendChild(Invoice.CreateComment(
  39.         '      Customer Statement        '));
  40.     RootElmt := Invoice.CreateElement('CustomerInvoice');
  41.     Invoice.AppendChild(RootElmt);
  42.     RootElmt.AppendChild(Invoice.CreateElement(
  43.         'MemberNumber', '017883  B8  ZG1'));
  44.     RootElmt.AppendChild(Invoice.CreateElement(
  45.         'InvoiceDate', '19990821'));
  46.     Items := Invoice.CreateElement('Items');
  47.     RootElmt.AppendChild(Items);
  48.       Item := Invoice.CreateElement('Item');
  49.       Items.AppendChild(Item);
  50.       Item.AppendChild(Invoice.CreateElement(
  51.           'CatalogNumber', '2561215', 'Format', 'CD'));
  52.       Item.AppendChild(Invoice.CreateElement(
  53.           'Artist', 'Einhorn'));
  54.       Item.AppendChild(Invoice.CreateElement(
  55.           'Title', 'Voices of Light'));
  56.       Item.AppendChild(Invoice.CreateElement(
  57.           'Price', '5.66', 'Terms', '66% Off'));
  58.       Item.AppendChild(Invoice.CreateElement(
  59.           'Shipping', '2.59'));
  60.       Item.AppendChild(Invoice.CreateElement(
  61.           'Tax', '0.66', 'TaxLocale', 'CA'));
  62.       Item.AppendChild(Invoice.CreateElement(
  63.           'ItemTotal', '8.91'));
  64.     RootElmt.AppendChild(Invoice.CreateElement(
  65.         'AmountDue', '8.91'));
  66.   Invoice.SaveToStream(MemStream, True);
  67.   MemStream.Position := 0;
  68.   M.Lines.LoadFromStream(MemStream);
  69.   MemStream.Free;
  70.   Invoice.Free;
  71. end;
  72.  
  73. end.
  74.